On the way to master VIM and Evil in Emacs
1. VIM 的基本语法
- 操作符 + 动作命令 = 操作
- 操作符连续调用两次,作用于当前行。
1.1. 操作符
d: 删除符 c: 修改 x: 删除当前字符 r: 修改当前字符 R:修改字符 y: 复制
2. 移动
2.1. 行内移动
h | 向前一个字符 |
l | 向后一个字符 |
w | 移动到下一个单词的词首 |
W | 移动到下一个单词的词首 |
e | 移动到下一个单词的词尾 |
E | 移动到下一个单词的词尾 |
f | find char 向后查找 |
F | 反向查找 |
t | till char 查找字符的前一个位置 |
T | 反向查找 |
0 | 行首/insert 下可以使用M-a |
\$ | 行尾/insert 下使用M-e |
\^ | 移动到第一个非空白字符 |
g_ | 移动到最后一个非空白字符 |
2.2. 行间移动
j | 向下一行 |
k | 向上一行 |
gg | 第一行 |
G | 最后一行 |
3. 删除所有包括特定字符的行
:%g/foo/d
- : 进入 Vim 的 Command line。
- %:指定命令应用于整个文件。
- g:指定该命令应该对匹配搜索模式的所有行进行操作。
- /foo/:指定要查找的搜索模式。
- d:指定对每条匹配的行执行的动作,即删除。
4. Visual model
4.1. 可视区域的选择
在 Emacs 中将按键 v 绑定到 er/expand-region ,这样就可以通过 v 来扩展区域。
通过 Shift+v 来选择一行区域,通过 C-v 来竖向选择区域。
4.2. 可视区域跳转
通过 v 选择区域后,可以使用 o 进行区域的开头和结尾进行跳转,这样可以方便的扩展视觉选择范围。